1. Field of the Invention
The present invention generally relates to picture decoding technology utilizing motion compensation prediction, and more particularly, to a technology for deriving a motion vector to be used in the motion compensation prediction.
2. Description of the Related Art
In picture compression-encoding, motion compensation prediction is typically used in order to increase compression efficiency by using correlation between pictures over time. According to motion compensation prediction, a predicted value is derived from a reference picture by taking the direction and quantity of motion indicated by a motion vector into account. By encoding a difference value between the predicted value derived from the motion compensation prediction and a pixel value of a picture subject to encoding, redundancy is removed and compression efficiency can be increased.
By MPEG-4AVC or the like, which is the latest picture compression-encoding technology, one picture is encoded as an I picture, a P picture, or a B picture. An I picture is encoded by information on the picture itself. To a P picture, a unidirectional motion compensation prediction can be applied. To a B picture, a bidirectional motion compensation prediction can be applied.
In case of encoding a motion vector of a certain block subject to encoding, a motion vector predictor is derived from one or more neighboring blocks, firstly. Then a motion vector difference between the motion vector of the certain block subject to encoding and the motion vector predictor is calculated, and the motion vector difference is entropy encoded. The reason for deriving a motion vector predictor from one or more neighboring blocks is that the motion vector of the block subject to encoding is considered to have a correlation with the motion vector of the neighboring block(s). The entropy encoding technique utilizes this correlation to compress pictures so that the smaller the absolute value of a motion vector difference is, the higher the compression efficiency of the motion vector is.
A method for predicting a motion vector by using one or more blocks neighboring a block subject to encoding is disclosed in the patent document 1.